package com.system.service;

import com.system.entity.Permission;
import com.baomidou.mybatisplus.extension.service.IService;
import com.system.vo.request.PermissionAddReqVO;
import com.system.vo.request.PermissionUpdateReqVO;
import com.system.vo.response.PermissionRespNodeVO;

import java.util.List;

/**
 * @author XueHeng
 * @since 2020-09-17
 */
public interface PermissionService extends IService<Permission> {

    /*
    根据userId获取权限信息
    */
    public List<Permission> getPermissionByUserId(String userId);

    /*
    根据userId获取权限标记符
     */
    public List<String> getPerms(String userId);

    /*
    左侧菜单栏
     */
    public List<PermissionRespNodeVO> menu();

    /*
    获取所有权限数据
     */
    public List<Permission> getAllPermission();

    /*
    权限树-菜单
     */
    public List<PermissionRespNodeVO> tree();

    /*
    权限树-按钮
     */
    public List<PermissionRespNodeVO> treeAll();

    /*
    新增权限
     */
    public void add(PermissionAddReqVO vo);

    /*
    修改权限
     */
    public void update(PermissionUpdateReqVO vo);

    /*
    删除权限
     */
    public void delete(String menuId);
}
